-
Couldn't load subscription status.
- Fork 987
[main] upgrade module to v9 standard go version workflow #3260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # command/v7/create_user_provided_service_command.go # command/v7/create_user_provided_service_command_test.go # go.mod
# Conflicts: # actor/v7action/revisions_test.go # api/cloudcontroller/ccv3/revisions_test.go # command/v7/revision_command.go # command/v7/revision_command_test.go # integration/v7/isolated/revision_command_test.go
# Conflicts: # command/v7/create_route_command.go # command/v7/create_route_command_test.go # command/v7/map_route_command.go # go.mod # go.sum # resources/droplet_resource.go
|
As far as I understood, this change must be merged in order to allow this go project to be used as dependency in other go modules, right? If the answer of previous question is yes, why this change is not merged already, it's blocking all cf cli plugin maintainers to use latest v3 APIs models. When this change will be merged or what are the requirements to merge? |
Thank you for contributing to the CF CLI! Please read the following:
If your contribution falls under a company CLA but your membership is not public, expect delays while we confirm.
Note: Please create separate PR for every branch (main, v8 and v7) as needed.
Description of the Change
This change upgrades the module name according to the new go version workflow as described in https://go.dev/doc/modules/release-workflow
It also has a small fix in the app_summary_displayer_test.go date regex so that it supports up to 4 character time zone abbreviations (required for CEST local builds, for example). And also returned some dependencies to test classes in the plugins packages, removed somewhere in march.
The fix is presented as a transitional one, the cli has dependency to the archived project https://github.com/cloudfoundry-incubator/cfnetworking-cli-api which doesn't use go modules and has a recursive dependency back to the cli. This makes it difficult to smoothly upgrade it in the future. The project now has a dependency of the latest cli version without modules (v7.1.0) which is used by the UAAClient to also create a legacy connection and then use it when creating the cf networking client. It's less than optimal.
The way forward is to remove the recursive dependency by either unarchiving the cfnetworking project (and removing the recursive dependency), creating a new library or adding the cf networking client directly to the cli code base. This workaround is a quick fix to move forward with standard versioning.
Why Is This PR Valuable?
At the moment the development of plugins with go modules is dependent on cli v7.1.0 (which is still not a module). This implies that plugins cannot be updated with any security and version updates that may come from newer versions.
The PR will allow plugins to be updated to the latest cli version.
Applicable Issues
#2291
How Urgent Is The Change?
It has a relative urgency, if you consider the need to update plugins as well as making this change as soon as possible for further progress of the cli
Other Relevant Parties
To my knowledge this only affects plugins (and their maintainers/developers).